<?php
/**
 * Created by PhpStorm.
 * User: 聂尧
 * Date: 2017/8/2
 * Time: 14:22
 * function:微信支付类 支付类型jsapi
 */

namespace app\index\controller;
use       think\Controller;
use       think\Db;
use       think\Request;
use       think\Wxpay\wxpay;
use       think\Wxpay\notify;
class wxpay extends Controller
{
    //支付页面传过来的参数应该是商品的信息
    public function index()
    {
        //vendor('Wxpay.Wxpay');//加载支付文件 支付文件中包括了 统一支付接口类 jsapi 类 日志文件类
        //①、获取用户openid
        $tools = new \JsApiPay();
        $openId = $tools->GetOpenid();
        //②、统一下单
        $input = new \WxPayUnifiedOrder();
        $input->SetBody("这是什么");//商品详情
        $input->SetAttach("测试");//附加信息，可用作后台验证添加信息
        $input->SetOut_trade_no(\WxPayConfig::MCHID.date("YmdHis"));//订单号
        $input->SetTotal_fee("1");//支付金额，必须乘以100，不然1就是0.01
        $input->SetTime_start(date("YmdHis"));//开始时间
        $input->SetTime_expire(date("YmdHis", time() + 600));//终止时间
        $input->SetGoods_tag("我是标签");
        $input->SetNotify_url("http://www.sbwechat.com/Index/notify");//回调地址
        $input->SetTrade_type("JSAPI");
        $input->SetOpenid($openId);

        //获取order信息
        $order = \WxPayApi::unifiedOrder($input);
        $jsApiParameters = $tools->GetJsApiParameters($order);
        $this->assign('jsApiParameters',$jsApiParameters);
        $this->display();
    }

    //支付回调
    public function notify(){
        $tools = new \WxPayNotify();
        $xml = $GLOBALS['HTTP_RAW_POST_DATA'];//获取xml回调数据//不知道怎么看传回来什么直接把这个存数据库就知道了
        $array_data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);//转换xml数据为数组
        $data['transaction_id']=$array_data['transaction_id'];//微信支付单号，用户对账
        $data['transaction_id']=$array_data['out_trade_no'];//网站订单号
        //$list=M('question_purchase')->add($data);//更新数据下面写自己要改的状态
    }

}